<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .inputbox {
            margin: 10px;
        }
        
        .inputbox input {
            height: 40px;
            border-radius: 20px;
            padding-left: 20px;
            width: 100%;
            box-sizing: border-box;
            background-color: #f5f5f5;
            border: none;
            outline: none;
        }
    </style>
</head>

<body>
    <div id="app">
        <div class="inputbox">
            <input type="text" v-model="inputText">
        </div>
        <button @click="add">点击搜索</button>
    </div>
</body>

</html>
<script src="../vue-2.5.21.js"></script>
<script>
    //Vue实例中的 el, data, methods, computed, watch 都是Vue实例的选项.
    //这些选项的名字是固定的, 而且只能写一个.
    new Vue({
        el: "#app",
        data: {
            inputText: "",
            arr: [],
            obj: {
                name: '李煜',
                age: 30
            }
        },
        methods: { //定义方法
            add() {}
        },
        computed: { //定义计算属性

        },
        watch: { //设置监听
            inputText(newValue, oldValue) { //每当inputText的值发生改变,inputText这个监听函数就会自动执行,
                // 通过参数一newValue就可以获取inputText的最新值
                // console.log( newValue, this.inputText );
                console.log('获取到了输入的最新值,发起网路请求');
            },
            arr() { //监听数组 arr 的改变
                console.log('监听到arr发生改变了');
            },
            obj: { //监听对象 obj 的改变
                handler() { //监听回调
                    console.log('监听到obj发生改变了');
                },
                deep: true, //开启深度监听
                //immediate: true,//初始化执行监听回调
            }
        }
    })
</script>